北京大学暑期课程实验部分编程基础内容介绍

Author:Hongyu Xiao

Graduate Student
University of Illinois at Urbana–Champaign
August, 2020


如果有遇到问题的话

请联系我!

邮箱是:hongyu.xiao@hotmail.com

标题开头为: PEK_Summer_Question

例如 PEK_Summer_Question anaconda无法下载


Jupyter Notebook 部分学习预期

* 了解Jupyter Notebook, 并进行Jupyter Notebook的安装

* 了解基本的Jupyter Notebook使用方法和本教程的使用方法


1.0 什么是Jupyter Notebook ? 为什么要使用 Jupyter Notebook?

* 什么是Jupyter Notebook ?

Jupyter Notebook的之前被叫做IPython Notebook, 是基于Python环境下的一套集成了代码执行,富文本编辑,数学符号,以及多媒体影音嵌入的交互环境。 这个项目广泛受到大家的喜爱,现在已经从单纯的Python基础发展成为更广泛的Jupyter Lab,你可以使用更多的语言在Jupyter里面运行,并且获得实时的结果

这个工具是免费的!

* 为什么要使用 Jupyter Notebook ?

我们写代码,运行代码一般的流程是:

    1 写代码 
    2 编译 (2.1 报错 2.2 调试 2.3 再次报错 2.4 再次调试...)
    3 查看屏幕的输出或者是输出文件

这个过程不便之处在于,我们在报错和调试的过程中,我们无法直观的实时看到程序中某一个或者某一些的变量或者中间输出文件,降低了我们编程的效率。Jupyter Notebook的cell类似于 Matlab中的cell功能,可以用来建离一定的调试断点,并且保存显示的输出。加上Jupyter Notebook支持Markdown语法而且对数学符号和多媒体的嵌入非常友好。特别适合边学边试的了解程序运行的过程和结果。


举个例子

In [4]:
# 我是Python代码
# 我是例子

print ("欢迎参加北京大学暑期课")
欢迎参加北京大学暑期课

你可以看到代码 print ("欢迎参加北京大学暑期课程") 并且运行它, 运行结果将会显示在这个cell的下方。

而且你可以去尝试更改代码中的内容,例如你把 print ("欢迎参加北京大学暑期课程")改为 print ("北京大学今儿真热"),并且点击上方的运行


修改一下例子

In [8]:
# 我是Python代码
# 我是修改过的例子

print ("北京大学今儿真热")
北京大学今儿真热

在接下来教程中,我们希望大家可以充分利用这种交互性,对各种命令和程序进行自己的探索,以达到加深了解的的目的。


1.1 如何安装 Jupyter Notebook 及相关 module?

对于本次的暑期课程,我们需要安装的工具和模块有

  • 工具: Anaconda / Jupyter Notebook

    Anaconda: 这是一个模块管理工具,便于我们进行Python模块的管理

    Jupyter Notebook: 交互运行工具

  • Python Module: Obspy / Scipy / Numpy / Matplotlib

    注: 模块之间可能有依赖关系,anaconda会自动配置相关依赖


* 1.1.1 安装Anaconda (推荐,也可以用pip替代)

Windows下请先开启WSL,并且安装Ubuntu

  1. 管理员权限打开 PowerShell. 在开始菜单中,输入PowerShell,右键Windows PowerShell选择管理员权限运行

  2. 在Windows PowerShell command window 中, 拷贝并复制以下代码以开启WSL功能:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

  1. 打开微软商店,搜索Ubuntu,选择Ubuntu并进行安装

Windows下Anaconda的安装

Mac下Anaconda的安装

  • 这里有sh 文件

  • 这里有pkg 文件

  • 下载installer,管理员权限运行安装即可。

Linux下Anaconda的安装

  • 这里有64-Bit Installer

  • 更换到下载目录,打开terminal,输入以下命令: bash Anaconda3-2020.07-Linux-x86_64.sh

如何验证安装完毕?

Windows

Win 键,然后输入prompt,打开Anaconda Prompt (Anaconda3)

并且输入 conda list ,如果看到列出的python相关module即说明成功。

Mac

Cmd+Space 打开 Spotlight Search 输入 “Navigator” 打开程序

输入 conda list ,如果看到列出的python相关module即说明成功。

Linux

在terminal中输入 conda init 以后重新开启 terminal

输入 conda list ,如果看到列出的python相关module即说明成功。

* 1.1.2 安装Jupyter Notebook

打开anaconda prompt,你会看到类似

(base) C:\Users\Hongyu>

这样的信息,这说明此时你的conda已经启动,并且你在base环境中

在prompt中输入

conda create --name PKU_Summer python=3


即建立起一个python3.x的环境,环境名称为PKU_Summer。

之所以建立起一个独立的python编译环境而不是使用base是为了避免各种package版本之间相互污染。

建议针对不同的项目每一次都进行不同的环境进行区隔。


你应该会看到类似的信息

Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\Hongyu\Anaconda3\envs\PKP

  added / updated specs:
    - python=3

The following NEW packages will be INSTALLED:

  ca-certificates    conda-forge/win-64::ca-certificates-2020.4.5.1-hecc5488_0
  certifi            conda-forge/win-64::certifi-2020.4.5.1-py38h32f6830_0
  openssl            conda-forge/win-64::openssl-1.1.1g-he774522_0
  pip                conda-forge/noarch::pip-20.1-pyh9f0ad1d_0
  python             conda-forge/win-64::python-3.8.2-h5fd99cc_7_cpython
  python_abi         conda-forge/win-64::python_abi-3.8-1_cp38
  setuptools         conda-forge/win-64::setuptools-46.4.0-py38h32f6830_0
  sqlite             conda-forge/win-64::sqlite-3.30.1-hfa6e2cd_0
  vc                 conda-forge/win-64::vc-14.1-h869be7e_1
  vs2015_runtime     conda-forge/win-64::vs2015_runtime-14.16.27012-h30e32a0_2
  wheel              conda-forge/noarch::wheel-0.34.2-py_1
  wincertstore       conda-forge/win-64::wincertstore-0.2-py38_1003

Proceed ([y]/n)?

输入 y 以继续

然后我们就建立环境成功,接下来进入这个环境中

在prompt中输入

conda activate PKU_Summer

然后你会看到

(PKU_Summer) C:\Users\Hongyu>

接下来安装jupyter notebook

conda install -c conda-forge jupyterlab

输入

y

安装numpy/obspy/matplotlib/scipy

conda install numpy 然后输入 y

conda install -c conda-forge scipy 然后输入 y

conda install -c conda-forge matplotlib 然后输入 y

conda install -c conda-forge obspy 然后输入 y

安装其他任何python package

一般语法为 : conda install ****

1.2 如何运行 Jupyter Notebook?

  1. 打开Anaconda Prompt (Anaconda3)
  1. 输入conda activate PKU_Summer
  1. 输入jupyter notebook

此时应该会自动打开本地浏览器运行jupyter notebook ,如果未打开,请复制在terminal里面出现的地址链接,复制并粘贴到浏览器地址栏。

此时你就打开了一个jupyter notebook

1.3 如何使用暑期课程 Jupyter Notebook 教程?

当你进入到jupyter notebook的时候你看到的默认界面如下:

image.png

依次说明一下内容和使用方法:

  1. 这一栏是notebook的标题栏,显示notebook的名称和最后修改时间

image.png

  1. 这一栏是你可以进行的操作

image.png

  1. 这一栏是常用操作按钮

image.png

我们最常用的是第一个按钮保存Run代表的是运行这个cell内的代码

需要注意的是,这里的markdown显示的是cell的格式,只有code格式才是可以运行的代码

  1. 这些为显示信息,他们的cell是markdown格式的,主要是用来阅读的

image.png

  1. 如果你看到一个cell前面有个in[XX],格式为code,代表这个cell里的内容是可以更改并且本地运行的!

    程序运行的输出会之间显示在cell下面

image.png


请参考下面的一个cell,并可以随意修改其中内容,修改完毕后,点击上方的Run按钮运行这个cell内的代码:

In [2]:
print ("Hello PKU Summer!")
Hello PKU Summer!

在默认情况下,我们code应该为python3.x代码

但是jupyter notebook同样支持在cell中进行shell命令的调试

具体要求是在cell开头进行一个%%bash的声明

请参考下面一个cell,并可以随意修改其中内容, 点击上方的Run按钮运行这个cell内的代码:

In [3]:
%%bash

echo 'Hello I am printing from Shell !'
Hello I am printing from Shell !

在cell中的代码可以反复修改和运行,并且即时看到结果。

In [ ]: